1. Technical Field
This invention relates to the field of computer graphical interfaces. More specifically, the invention relates to using graphical interfaces to display and analyze one-dimensional data sets.
2. Description of the Related Art
The term one-dimensional data set is used to refer to a data set that has an inherent distinguished, or principle, coordinate axis. Examples include data sets consisting of the values of one or more time-varying functions at each of a number of different times, and data sets consisting of the values of one or more address-varying functions at different points in a linear address space. In the former, the distinguished coordinate axis is the time axis, while in the latter, the address axis is the principle axis.
A subinterval of a one-dimensional data set consists of those data values from the original set that, with respect to the principle data set axis, fall between a start point and an end point selected on the principle axis.
One-dimensional data sets are typically displayed graphically with the principle axis laid out either horizontally or vertically in a display area, and with the data values at different points along the principle axis indicated using color, line displacement, or any of a number of other techniques. The particular technique used to indicate the data values at different points along the principle axis is not relevant to this invention.
A one-dimensional data set may be so large that it is not possible to display all of it in full detail in the available display area. The term zooming is used to refer to the process of selecting a subinterval of the data set and displaying the data values in that subinterval in greater detail. The zoom interval is the subinterval of the data set selected during zooming. The zoom display is the display area used to show the data values in the zoom interval.
The term context display is used to refer to a display area that shows a representation of the entire one-dimensional data set. A context display shows a "high-altitude" view of the data set. The high-level structure of the data set may be apparent, but details may not be visible.
A context indicator is a visual artifact placed in or adjacent to a context display that marks either the start point or the end point (along the principle axis of the data set) of the zoom interval that is displayed in an accompanying zoom display. A context start indicator marks the start point of the zoom interval while a context end indicator marks the end point. Examples of context indicators include arrow heads or line endpoints placed adjacent to the context display, cursor lines drawn through the context display perpendicular to the principle axis, and edges of a highlighted region in the context display.
A zoom indicator is a visual artifact placed in or adjacent to a zoom display that marks either the start point or the end point (along the portion of the principle data set axis shown in the zoom display) of the displayed zoom interval. A zoom start indicator marks the start point of the zoom interval while a zoom end indicator marks the end point. Zoom indicators are typically paired with context indicators, and may be visually connected to make the correspondence apparent. Zoom indicators are typically placed at the extreme edges of the zoom display, but that is not a requirement. The zoom display may show some context for the zoom interval, in which case the zoom indicators will be inset somewhat from the edges of the zoom display.
A context midpoint indicator is a visual artifact that marks (in a context display) the midpoint of a displayed zoom interval. A zoom midpoint indicator marks the same midpoint in a zoom display.
In most systems for displaying one-dimensional data sets, the context display, if one is provided at all, takes the form of a simple time line or other scale. Such a display provides almost no real context for the zoom display, but at least it provides a place to put context indicators that indicate the extent of the zoom interval. Furthermore, the system may allow the user to change the start and end points of the zoom interval by directly manipulating the context indicators with a pointing device. This capability gives the user control over both the size and location of the zoom interval, but the control is coarse-grained because the end points of the zoom interval are selected with respect to the lower-resolution context display rather than to the higher-resolution zoom display.
In some systems for displaying one-dimensional data sets, the user can refine the zoom interval by pointing at new start and end points in the zoom display itself. This capability gives the user fine-grained control over the zoom interval because the new end points are selected with respect to the higher-resolution zoom display, but it does not let the user increase the size of the zoom interval or move it to a new location within the data set.
The Hierarchical Video Magnifier described by Mills et al. in "A Magnifier Tool for Video Data" in CHI'92 is an example of a system for displaying one-dimensional data sets that provides a context display, a zoom display, and context and zoom indicators. The system actually provides multiple levels of context and zoom displays, a zoom display at one level serving as the context display for the next deeper level. The "data sets" displayed by this system are video streams. The principle coordinate axis is the time axis, and the "data values" are video frames evenly spaced along the time axis. In the Hierarchical Video Magnifier, a context display is a horizontal time line annotated with miniature representations of video frames selected from the full set of frames in the data set. Context start and end indicators are the left and right edges, respectively, of a rectangle called a "magnifier" superimposed on the context display. The zoom display is a second annotated, horizontal time line placed some distance beneath the context display. The zoom start and end indicators are vertical line segments placed at the left and right edges of, and immediately above, the zoom display. The context and zoom start indicators are connected by a line segment to show their correspondence. The context and zoom end indicators are similarly connected. The space between the context and zoom displays is also used to show enlarged versions of the miniature video frames used to annotate the zoom display.
In the Hierarchical Video Magnifier, the user can change the displayed zoom interval by changing the width and/or the position of the magnifier rectangle in the context display with a mouse.
Piescope, as described by Ted Lehr in "Piescope User's Guide", is an example of a system for displaying one-dimensional data sets that has a zooming capability, but does not provide a context display at all. In this system the principle axis is again the time axis. A number of horizontal colored strips are used to convey information about the state of a computer system, as that information evolves over time.
In Piescope, the entire display area is devoted to the zoom display. There is no context display and there are no context indicators. The initial zoom interval is the time range covered by the entire data set, so that to begin with a representation of the entire data set is displayed. A new, smaller zoom interval is selected by first positioning (with a pointing device) a vertical cursor line somewhere in the zoom display. This cursor serves as a zoom start indicator. A second cursor (a zoom end indicator) is then positioned somewhere to the right of the start indicator in the zoom display. Once the end indicator is positioned, the zoom interval is changed to the subinterval delimited by the pair of indicators, and the zoom display is redrawn to show just the zoom interval.
In Piescope, a simple action with the pointing device is used to expand the zoom interval. This action increases the width of the zoom interval by a constant factor of 5, keeping the position of the center of the interval unchanged as much as possible.
Systems for displaying two-dimensional data sets also commonly provide a zooming capability, and two-dimensional analogs of most of the system elements described here exist. Instead of a principle data-set coordinate axis there is a principle coordinate plane, which is mapped to a rectangular display area. A context display is a high-level view of the entire data set. Instead of a zoom interval, there is a zoom rectangle, whose data values are displayed in a zoom display. An outlined or highlighted rectangle in the context display, showing the extent of the zoom rectangle, takes the place of context start and end indicators.
A variety of mechanisms by which the user can change the zoom rectangle exist. Arrow buttons or scroll bars let the user shift the position of the zoom rectangle within the full data set without changing its size. Buttons or menus let the user change the size of the zoom rectangle (thereby changing the scale of the zoom display), either by fixed factors or to arbitrary values. Some systems let the user mark out, with a pointing device, a new zoom rectangle in the zoom display, at which point the zoom display is redrawn to show the new zoom rectangle.
Finally, some systems that provide a context display let the user directly manipulate the highlighted context display rectangle that indicates the extent of the zoom rectangle, changing its size and/or location.
However, no single system for displaying either one-dimensional or two-dimensional data sets provides a uniform and intuitive zooming interface that allows both coarse-grained manipulation of the zoom interval or rectangle in a context display and fine-grained refinement of the zoom interval or rectangle in the zoom display. Most systems do not provide a context display at all, only a zoom display. Such systems can provide intuitive interfaces for refining the zoom interval or rectangle, but mechanisms for expanding the zoom interval or rectangle, or moving it to another location in the data set, are ad hoc and/or non-intuitive. Systems that provide a context display can provide intuitive interfaces for manipulating the zoom interval or rectangle directly in the context display, providing coarse-grained control of the size and location of the zoom interval or rectangle. Such systems can also allow fine-grained manipulation of the zoom interval or rectangle in the zoom display. However, in all existing systems, the interfaces for coarse-grained and fine-grained control of the zoom interval or rectangle are different. Importantly, no system provides a single, intuitive interface that allows both coarse-grained and fine-grained control.